home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacWorld 1999 January - Disc 2
/
Macworld (1999-01) (Disk 2).dmg
/
Serious Demos
/
Symbolic Composer 4.2
/
Environment
/
Projects
/
Testers
/
Harmonizer Tester
< prev
next >
Wrap
Lisp/Scheme
|
1998-10-26
|
2KB
|
70 lines
; try changing the theme, all stuff comes from that...
(setq theme '(a b c d e f e d c b c d c b a h g h f e d h g h e d c h g h d e f b e d))
(setq mel (gen-expansion 1 '(a d c -c b)
(symbol-retrograde
(gen-loop '((8 1 1 4) (2 1 1 2))
theme))))
(init-soup 'soup1 mel)
(setq variations (symbol-trim (* (length theme) 6) (gen-catalyze 'soup1 0.234 30)))
(setq left-hand (append theme (symbol-transpose 8 (symbol-inversion 'a theme)) variations))
(setq right-hand (symbol-transpose 11 (symbol-shift 32 (append theme (symbol-transpose 8 (symbol-inversion 'a theme)) variations))))
(setq 3rd-hand (symbol-transpose -5 (symbol-shift 64 (append theme (symbol-transpose 8 (symbol-inversion 'a theme)) variations))))
(setq new-mater (filter-harmonize3
left-hand right-hand 3rd-hand 12
(activate-tonality (harmonic-minor c 4))
'((32 3))
'((1 2 5 6 8 9 10 11)) ; ok too '((1 2 5 6 9 10 11)), or '((1 2 5 6 10 11))
'(0 5 7)))
(setq hmat1 (filter-deactivate 8 40 (find-change (car new-mater))))
(setq hmat2 (filter-deactivate 8 40 (find-change (cadr new-mater))))
(setq hmat3 (filter-deactivate 8 40 (find-change (caddr new-mater))))
(def-instrument-symbol
lh (symbol-melodize-skip hmat1)
rh (symbol-shift 1 (symbol-melodize-skip hmat2))
mh (symbol-shift 1 (symbol-melodize-skip hmat3))
)
(def-instrument-length
lh (get-timing '1/8 hmat1)
rh (get-timing '1/8 hmat2)
mh (get-timing '1/8 hmat3)
)
(def-instrument-zone
lh '(16/1 16/1 8/1)
rh '(16/1 16/1 8/1)
mh '(16/1 16/1 8/1)
)
(def-instrument-tonality
lh (activate-tonality (harmonic-minor c 4))
rh (activate-tonality (harmonic-minor c 4))
mh (activate-tonality (harmonic-minor c 4))
)
(def-instrument-velocity
lh (symbol-to-velocity 50 127 3 (symbol-repeat 4 theme))
rh (symbol-to-velocity 50 127 3 (reverse (symbol-repeat 4 theme)))
mh (symbol-to-velocity 50 127 3 (reverse (symbol-repeat 4 theme)))
)
(def-instrument-channel
lh 1
rh 2
mh 3
)
(compile-instrument-p "ccl;output:" "fugue"
lh
rh
mh
)